home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nebula 2
/
Nebula Two.iso
/
Documents
/
NeXTSTEP-faq
/
3_WhatIs.txt
< prev
next >
Wrap
Text File
|
1996-04-17
|
17KB
|
352 lines
Subject: FAQ: 3 - What is...
3 WHAT IS ...
What is ...
This chapter tries to give you some overview over NEXTSTEP/OpenStep
software and related software. For a detailed description you should
contact the producer's WWW server. E.g. for more information about
OpenStep contact http://www.next.com/
3.1 NEXTSTEP
NEXTSTEP
NEXTSTEP is a complete development and user environment by NeXT it
provides an unique GUI (graphical user interface), which currently
gets copied by several other OS provider like Microsoft, combined with
the currently most advanced and tested OS, named MACH. NeXT applied
several changes to the MACH kernel to add special features which makes
NEXTSTEP unique.
NEXTSTEP comes with a lot of development kits (bundles of classes to
build on), like: Sound Kit, Indexing Kit, 3D Graphics Kit, Database or
EOF Kit and Application Kit. This will change with OpenStep.
Bundled with NEXTSTEP are several user applications which enhance the
daily use dramatically: NeXTMail (a MIME compatible mail application),
Edit (a simple but powerful editor), FaxReader (for reading incoming
faxes, you are able to send faxes from every application which
supports printing), DigitalWebster (Webster's Ninth New Collegiate
Dictionary and Collegiate Thesaurus), Digital Librarian (indexing and
full text search utility, usable over groups of files) Preview (a
PostScript and TIFF display utility), Terminal (UNIX terminal
application for VT100 and TN3270 emulation), TeX (a well known
compiler for formatted text), SYBASE and ORACLE adapters (to contact
to SYBASE and ORACLE databases within EOF applications).
One special thing about NEXTSTEP is the display system. NeXT uses DPS
(Display Post Script), which gives you true WYSIWYG on every NEXTSTEP
system. The window server supports PostScript Level II, Interactive
RenderMan and Photorealistic RenderMan (an distributed engine for fast
high quality rendering, based on Pixar's RenderMan).
To be used in networks, NEXTSTEP supports NFS, NetInfo, Novell Netware
(as client only), Ethernet and Token Ring and different filesystems
(Mac, DOS, ISO 9660, High Sierra, Rock Ridge).
For multimedia purposes NeXT uses Lempel-Ziv compression for text,
Audio Transform Compression for Sound (comparable to Sony MiniDisc),
JPEG for TIFF and Group 4 for Fax. Of course these are only standard
modes and NEXTSTEP is extensible to use other methods too.
For system administration (remember that NEXTSTEP is using MACH as an
UNIX derivate), NeXT supplies several administration applications
which make it easy to configure NEXTSTEP as needed, like:
SimpleNetworkStarter, UserManager, PrintManager, NFSManager,
HostManager, NetInfo Manager, BuildDisk, Upgrader and the complete
documentation and manual pages online.
3.2 MACH
MACH
MACH is the the basic OS layer NeXT uses for NEXTSTEP. It is a micro
kernel, which means it is extensible at runtime. Micro kernel often
stands for a small kernel size, too, but due to the compatibility to
BSD 4.3 MACH is currently about 1MB in size.
Features of MACH are: loadable kernel services (extensions during
runtime), different scheduling algorithms, an advanced messaging
system, an advanced memory allocation mechanism (copy on demand, world
wide message broadcasting), true multitasking, multi threading and BSD
compatibility.
3.3 OpenStep
OpenStep
OpenStep will be the next release of NeXT's NEXTSTEP with the ability
to be OS independent (NEXTSTEP depends on MACH). Therefore OpenStep
will run on Windows 95, Windows NT, MACH, Solaris, SunOS, HP-UX and
DEC OSF/1.
The architecture of OpenStep was made public in late 1995 and since
then GNU is working on a public port of OpenStep to e.g. X11 based
UNIX systems.
To express the new standard, OpenStep for MACH is now the correct
spelling for the formerly named NEXTSTEP product by NeXT, but it is
known that NeXT itself is still using the same version numbering
scheme for at least the MACH product line, so the first release of
OpenStep for MACH is equivalent to NEXTSTEP 4.0.
OpenStep is supposed to be an industry standard for developing object
oriented, system independent, scalable solutions for client/server
architectures. It was adopted by Sun, Hewlett Packard and Digital. It
provides distributed applications through PDO (Portable Distributed
Objects) and D'OLE (Distributed OLE) based on CORBA. The usage of EOF
supplies object persistence with traditional relational databases. And
finally with WebObjects, objects are accessible through the internet
or in your own private network.
OpenStep, like NEXTSTEP 3.3 provides several kits for software
developers like: Application Kit and Foundation Kit as well as Display
PostScript. Applications written for OpenStep are sourcecode
compatible to all other architectures running OpenStep, although FAT
binaries are only available under OpenStep for MACH.
For the NEXTSTEP user OpenStep doesn't take away old known features.
In addition with OpenStep for MACH you will get MACH enhancements and
a new GUI as an option as well as all the known advantages of OpenStep
itself. Old applications will continue to run under OpenStep for MACH
and need to be recompiled to run under Windows 95, Windows NT,
Solaris, HP-UX and other OpenStep platforms.
Because OpenStep isn't already released, this section is just
speculating and based on information from the usenet community.
OpenStep is sheduled for quarter two 1996.
3.4 Objective-C
Objective-C
To develop applications NeXT uses Objective-C as its native
programming language. Objective-C is a more strict OO language then
C++ but covers C as well as C++. Because NeXT uses the GNU C/C++
compiler, you go with the most spreaded and tested C compiler
available for most UNIX platforms today. (Of course you can use
Objective-C on every platform on which gcc is available).
Objective-C is different to other languages in the way it executes
code. Objective-C uses a runtime library to dynamically access objects
at runtime. This allows you to change objects at runtime etc. All this
goes with nearly no speed penalty, because hashing mechanisms are used
to access the different methods of an object.
There is also ObjC which is an different product, available as a
commercial compiler for different operating systems. Don't mix up
things with by using the expression ObjC instead of Objective-C. For
shortcut purposes the NeXT community also uses the term ObjC/Obj-C but
of course thinks of Objective-C by NeXT.
Objective-C isn't standardized, yet.
In Objective-C you are able to mix code. E.g. you can use C++ and C in
any Objective-C program.
Objective-C is a simple and concise object-oriented extension to
ANSI-C. It has a runtime messaging facility and offers dynamic
binding. Distributed objects are supported and the code is optimized
for native compilations.
It's syntax and programming technique is much like in SmallTalk. Using
Objective-C you can even message objects in other applications, also
over a network!
3.5 NEXTSTEP Developer
NEXTSTEP Developer
NEXTSTEP Developer is currently the only way to develop applications
under NEXTSTEP because it includes all the necessary include files and
libraries. (Of course you can get any GNU C version precompiled, but
it won't help you without the include files and linker libraries).
In addition to a precompiled GCC, include files and the linker
libraries you will get the famous NeXT developer tools: ProjectBuilder
(your commando center for building applications and managing sources),
InterfaceBuilder (for designing the application's GUI and making
object connections), an graphical addition to GDB (GNU Debugger)
integrated in Edit, MallocDebug (for seeking memory leaks),
HeaderViewer (access class information in header files and in
documented form in a browser), DBModeler (for building data models,
based on Database Kit), Yap (an interactive PostScript interpreter and
viewer), IconBuilder (a very simple but extensible pixel-based editor
for creating icons) and popular UNIX utilities like GNU Emacs, yacc,
lex, vi...
3.6 D'OLE
D'OLE
D'OLE is a shortcut for Distributed OLE. OLE is Microsoft's standard
for Object Linking and Embedding and is currently not distributable
across platforms. With D'OLE you can distribute OLE objects across the
network like e.g. in SOM by IBM. But D'OLE is more. It uses NeXT's
object model PDO (Portable Distributed Objects) from Unix to Windows
platforms and enables OLE objects to communicate with OpenStep objects
natively, which means without changing the application. OpenStep
objects behave like OLE objects and vice versa.
D'OLE also supports EOF which enables a distributed computing
environment that provides an infinitely flexible choice of application
deployment of application deployment strategies.
D'OLE uses the Foundation Framework, Distributed Object Framework and
other core classes. It comes bundled with C/Objective-C compiler and
GNU make, although Microsoft Visual C++ is required. Further you get a
portable nmserver, MACH emulation and on-line documentation.
3.7 PDO --- Portable Distributed Objects
PDO
PDO is a shortcut for Portable Distributed Objects. In the near future
PDO will become CORBA 2.0 compliant.
It is the industry's first product to provide a heterogeneous
client/server framework on objects. With PDO it is possible to deploy
objects on non-NEXTSTEP server machines and therefore deployed
anywhere in a network, wherever they are most appropriate for a task.
PDO encapsulates low-level network protocols, making messaging a
remote object as straightforward as messaging a local object. You even
don't have to learn new programming tools or techniques, because PDO
is a subset of NEXTSTEP tools and objects. Because PDO makes object
location completely transparent to the application, the application
communicates with every object the same way regardless wether it is
local, in the local network or anywhere in the world.
Because of the free location of objects, objects may get moved to
other locations, e.g. to optimize performance, without modification of
the application using it.
Because PDO also runs on non-NEXTSTEP servers, it comes with it's own
set of classes, libraries and even an Objective-C++ compiler, etc.
Neverless you can build, maintain, etc. from any NEXTSTEP client
connected to a PDO server. The tools used for building the final
objects however are native to the server's OS.
PDO comes with Foundation Framework, Distributed Objects Framework,
DOEventLoop and other core classes. Bundled tools are: Objective-C++
compiler, GDB, libg++, GNU make, Portable BuildServer, Portable
nmserver, Mach Emulation, NEXTSTEP's default system, on-line
documentation. Currently supported platforms are: HP-UX, SunOS,
Solaris, Digital UNIX.
3.8 EOF --- Enterprise Objects Framework
EOF
EOF bridges the gap between objects and relational databases. With EOF
you can bring the advantage of object oriented design etc. to
applications which use relational databases. (Therefore you don't need
an object oriented database!)
EOF clarifies many things. It supports a three-tier client/server
architecture by separating the user interface, business objects and
the database. In fact you can simply exchange the database (by
changing the adapter) and still use the same application!
Developing under EOF doesn't limit you to e.g. Objective-C. EOF allows
the integration of e.g. 4GL code as well as SQL etc. all combined
under the advantage of NeXT's developer tools.
EOF includes client and server software. It consists of the Enterprise
Object Modeler, runtime libraries and adapters for SYBASE and ORACLE
(other adapters available from the DBMS producers). It currently runs
under HP-UX, SunOS, Solaris, Digital UNIX and always requires PDO. For
client use you additionally need NEXTSTEP.
3.9 WebObjects
WebObjects
WebObjects helps you building dynamic Web pages. It is targeted to the
server side of the Web and there mostly to the intranets, also most
people might find it very useful for the Internet, too. It is
operating system independent and runs under Windows NT, Solaris,
HP-UX, Digital UNIX and NEXTSTEP (Windows 95 announced).
WebObjects contains development tools to build components for your
application logic, as well as a set of reusable components to manage
the rendering of your application. Because WebObjects is Java
compatible, you even can integrate Java applets in your application
today. It supports the standard http servers which have to support CGI
or NSAPI interface. WebObjects supports database access to Informix,
Oracle, Sybase and DB/2.
What's unique about WebObjects is the ability to share the logic of
your Web application and your data with other internal applications.
It means that you are not required to maintain a dedicated database or
write specific application code for your Web application.
Currently there are three versions of WebObjects: WebObjects,
WebObjects Pro and WebObjects Enterprise. WebObjects itself is freely
available to anybody interested in. WebObjects Pro contains PDO and
WebObjects Enterprise contains PDO and EOF with a special license to
connect to the Internet. But because WebObjects is a brand new
product, look at http://www.next.com/WebOjects/ for further
information.
3.10 WWW Browser
WWW Browser Browser OmniWeb NetSurfer SpiderWoman NetScape
Several NEXTSTEP browsers are available for NEXTSTEP. The currently
most advanced browser is named 'OmniWeb'. OmniWeb is commercial in the
way that you need a license to use it in a network. A single user
license is free. OmniWeb seems to be continuesly updated and support
is known to be good. OmniWeb is also supporting a lot of well known
Netscape features.
There is also a public domain WWW browser named 'SpiderWoman'. It's
plus is the NEXTSTEP look and feel (e.g. you navigate through the Web
like you navigate your filesystem with WorkspaceManager). Anyway
SpiderWoman is somehow unstable and it seems as if development
stopped.
Another commercial browser is NetSurfer. Demos are available on the
ftp sites. This browser is preferred by several people because it
integrates ftp access very well. Anyway you have to pay for it.
Netscape isn't available for NEXTSTEP and is unlikely to be ported.
The current state of Netscape seems to become more and more unclear
because the latest release with Java support is known to work unstable
on most systems. Also Netscape supports a lot of features which other
companies are not going to adopt anymore as it was in the early times.
Anyway you can use Netscape in the future under the most OpenStep
platforms.
3.11 Newsreader
Newsreader Alexandra NewsGrazer NewsFlash RadicalNews
There are currently four well known newsreaders for NEXTSTEP.
First there is Alexandra, a public domain newsreader and second there
is NewsGrazer (and unsupported NeXT product). You should test them to
get your personal favorite. The only real difference is the support of
NEXTSTEP 3.3J (Japanese) and flatfiles in NewsGrazer, while the
interface in Alexandra seems to be better to many people.
NewsFlash is a commercial product which adds several features. As
Radical news it supports article threading, automated posting and
extraction of multi-part files. Demos are available on the ftp sites.
E-mail inquiries should go to support@wolfware.com. Further info is
available at: http://www.wolfware.com/
RadicalNews is a commercial newsreader. It supports true article
threadin, quoted text highlighting, japanese and Latin-1 support,
URL-support, an interface to Digital Librarian, a sophisticated
coloring scheme and much more. Info is available at:
http://www.radical.com/.
A note to both commercial versions: the community is very splitted
about which version is to prefer. In general it seems as if there are
no really 'killer features' so it prefers much to personal taste.
Demos are available and don't forget to test the free versions, too!